/**
 * Created by Administrator on 2016/12/23.
 */
//管道流操作

var fs= require('fs');

//使用普通文件读取时, 一次性读取整个文件, 一次性写入整个文件的操作时, 在操作大文件时, 内存损耗严重.

//管道流操作是把文件分割成若干部分, 分块操作.

//创建读取流
var rs = fs.createReadStream('./守矢神社的鸟居.png');

//创建写入流
var ws = fs.createWriteStream('./守矢神社的鸟居2.png');

//每读取64k的数据就会触发一次data事件 : 通过给data事件绑定函数, 就能拿到每次读取的64k数据了
var count=0;
rs.on('data',function (chunk) {
   //触发data事件后会把当前64k数据暂存在回调函数中
    ws.write(chunk,function () {
        count++;
        console.log('写入完毕'+count);
    });
});

